//
//  NSDate+Extention.swift
//  时间的里 swift
//
//  Created by macs on 15/11/22.
//  Copyright © 2015年 BlackTail. All rights reserved.
//

import Foundation

extension NSDate {
    
    class func dateFromString (string : String) -> NSDate? {
        //转化日期格式
        let sinadf = NSDateFormatter()
        sinadf.dateFormat = "EEE MMM dd HH:mm:ss zzz yyyy"
        sinadf.locale = NSLocale(localeIdentifier: "en")
        let date = sinadf.dateFromString(string)
        return date
    }
    
    /*
    刚刚(一分钟内)
    X分钟前(一小时内)
    X小时前(当天)
    -------------
    
    昨天 HH:mm(昨天)
    MM-dd HH:mm(一年内)
    yyyy-MM-dd HH:mm(更早期)
    
    
    处理比较复杂的时间的运算 可以 NSCalendar  提供非常丰富的时间处理函数
    
    */
    
    func sinaComDate () -> String {
        
        //判断日期
        let clender = NSCalendar.currentCalendar()
        
        if clender.isDateInToday(self) {
            
            let detal = Int(NSDate().timeIntervalSinceDate(self))
            
            if detal < 60 {
                
                return "刚刚"
            } else if detal < 60 * 60 {
                
                return "\(detal / 60)分钟前"
            }
            
            return "\(detal / 3600)小时前"
        }
        
        //这里就是大于一天
        var dateDf = ""
        if clender.isDateInYesterday(self) {
            
            dateDf = "昨天 HH:mm"
        } else {
            
            let result = clender.components(.Year, fromDate: self, toDate: NSDate(), options: [])
            
            if result.year == 0 {
                dateDf = "MM-dd HH:mm"
            } else {
                dateDf = "yyyy-MM-dd HH:mm"
            }
        }
        let df = NSDateFormatter()
        df.dateFormat = dateDf
        return df.stringFromDate(self)
    }
    
    
    
}